home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntinc20 / stdlib.h < prev    next >
C/C++ Source or Header  |  1992-05-15  |  3KB  |  100 lines

  1. /*
  2.  * stdlib.h
  3.  *    ansi draft sec 4.10
  4.  */
  5. #ifndef _STDLIB_H
  6. #define _STDLIB_H
  7.  
  8. #ifndef _COMPILER_H
  9. #include <compiler.h>
  10. #endif
  11.  
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15.  
  16. #ifndef _SIZE_T
  17. #define _SIZE_T __SIZE_TYPEDEF__
  18. typedef _SIZE_T size_t;
  19. #endif
  20.  
  21. #ifndef _WCHAR_T
  22. #define _WCHAR_T __WCHAR_TYPEDEF__
  23. typedef _WCHAR_T wchar_t;
  24. #endif
  25.  
  26. #ifdef __MSHORT__
  27. #define    RAND_MAX    (0x7FFF)    /* maximum value from rand() */
  28. #else
  29. #define    RAND_MAX    (0x7FFFFFFFL)    /* maximum value from rand() */
  30. #endif
  31.  
  32. #define MB_CUR_MAX    1        /* max. length of multibyte character
  33.                        in current locale */
  34.  
  35. #ifndef EXIT_FAILURE
  36. #define EXIT_FAILURE    (1)
  37. #define EXIT_SUCCESS    (0)
  38. #endif
  39.  
  40. typedef struct {
  41.     int        quot;    /* quotient    */
  42.     int        rem;    /* remainder     */
  43. } div_t;
  44.  
  45. typedef struct {
  46.     long    quot;    /* quotient    */
  47.     long    rem;    /* remainder     */
  48. } ldiv_t;
  49.  
  50. __EXTERN double atof __PROTO((const char *s));
  51. __EXTERN int atoi __PROTO((const char *str));
  52. __EXTERN long atol __PROTO((const char *str));
  53. __EXTERN long int strtol __PROTO((const char *nptr, char **endptr, int base));
  54. __EXTERN unsigned long int strtoul __PROTO((const char *nptr, char **endptr, int base));
  55. __EXTERN double strtod __PROTO((const char *s, char **endptr)); /* sigh! */
  56.  
  57. __EXTERN void srand __PROTO((unsigned int seed));
  58. __EXTERN int rand __PROTO((void));
  59.  
  60. __EXTERN void *malloc __PROTO((size_t n));
  61. __EXTERN void free __PROTO((void *param));
  62. __EXTERN void *realloc __PROTO((void *_r, size_t n));
  63. __EXTERN void *calloc __PROTO((size_t n, size_t sz));
  64. #ifndef __STRICT_ANSI__
  65. #ifndef alloca
  66. #  ifndef __cplusplus
  67.     __EXTERN void *alloca __PROTO((size_t));
  68. #  else
  69.     __EXTERN void *alloca __PROTO((long unsigned int));
  70. #  endif
  71. #endif
  72. __EXTERN void _malloczero __PROTO((int yes));
  73. __EXTERN void _mallocChunkSize __PROTO((size_t siz));
  74. #endif
  75.  
  76. __EXTERN __EXITING abort __PROTO((void));
  77. #ifndef __cplusplus
  78.   /* bug in g++ 1.39.0 -- cant digest proto */
  79. __EXTERN int atexit __PROTO((void (*)(void)));
  80. #endif
  81. __EXTERN __EXITING exit __PROTO((int status));
  82.  
  83. __EXTERN char *getenv __PROTO((const char *tag));
  84. __EXTERN int system __PROTO((const char *s));
  85.  
  86. __EXTERN void *bsearch __PROTO((const void *key, const void *base, size_t num, size_t size, int (*cmp )(const void *, const void *)));
  87. __EXTERN void qsort __PROTO((void *base, size_t total_elems, size_t size, int (*cmp )(const void *, const void *)));
  88.  
  89. __EXTERN int abs __PROTO((int x));
  90. __EXTERN long labs __PROTO((long x));
  91.  
  92. __EXTERN div_t div __PROTO((int num, int denom));
  93. __EXTERN ldiv_t ldiv __PROTO((long num, long denom));
  94.  
  95. #ifdef __cplusplus
  96. }
  97. #endif
  98.  
  99. #endif /* _STDLIB_H */
  100.